24 research outputs found
Timed Session Types
Timed session types formalise timed communication protocols between two
participants at the endpoints of a session. They feature a decidable compliance
relation, which generalises to the timed setting the progress-based compliance
between untimed session types. We show a sound and complete technique to decide
when a timed session type admits a compliant one. Then, we show how to
construct the most precise session type compliant with a given one, according
to the subtyping preorder induced by compliance. Decidability of subtyping
follows from these results
A note on two notions of compliance
We establish a relation between two models of contracts: binary session
types, and a model based on event structures and game-theoretic notions. In
particular, we show that compliance in session types corresponds to the
existence of certain winning strategies in game-based contracts.Comment: In Proceedings ICE 2014, arXiv:1410.701
Blockchain for social good: a quantitative analysis
The rise of blockchain technologies has given a boost to social good
projects, which are trying to exploit various characteristic features of
blockchains: the quick and inexpensive transfer of cryptocurrency, the
transparency of transactions, the ability to tokenize any kind of assets, and
the increase in trustworthiness due to decentralization. However, the swift
pace of innovation in blockchain technologies, and the hype that has surrounded
their "disruptive potential", make it difficult to understand whether these
technologies are applied correctly, and what one should expect when trying to
apply them to social good projects. This paper addresses these issues, by
systematically analysing a collection of 120 blockchain-enabled social good
projects. Focussing on measurable and objective aspects, we try to answer
various relevant questions: which features of blockchains are most commonly
used? Do projects have success in fund raising? Are they making appropriate
choices on the blockchain architecture? How many projects are released to the
public, and how many are eventually abandoned?Comment: In GOODTECHS 201
Dissecting Ponzi schemes on Ethereum: identification, analysis, and impact
Ponzi schemes are financial frauds which lure users under the promise of high
profits. Actually, users are repaid only with the investments of new users
joining the scheme: consequently, a Ponzi scheme implodes soon after users stop
joining it. Originated in the offline world 150 years ago, Ponzi schemes have
since then migrated to the digital world, approaching first the Web, and more
recently hanging over cryptocurrencies like Bitcoin. Smart contract platforms
like Ethereum have provided a new opportunity for scammers, who have now the
possibility of creating "trustworthy" frauds that still make users lose money,
but at least are guaranteed to execute "correctly". We present a comprehensive
survey of Ponzi schemes on Ethereum, analysing their behaviour and their impact
from various viewpoints
Contract agreements via logic
We relate two contract models: one based on event structures and game theory,
and the other one based on logic. In particular, we show that the notions of
agreement and winning strategies in the game-theoretic model are related to
that of provability in the logical model.Comment: In Proceedings ICE 2013, arXiv:1310.401
A theory of agreements and protection
In this thesis we propose a theory of contracts. Contracts are modelled as interacting processes with an explicit association of obligations and objectives. Obligations are
specified using event structures. In this model we formalise two fundamental notions of contracts, namely agreement and protection. These notions arise naturally by interpreting contracts as multi-player concurrent
games. A participant agrees on a contract if she has a strategy to reach her objectives (or to make another participant sanctionable for a violation), whatever the moves of her counterparts. A participant is protected by a contract when she has a strategy to defend herself in all possible contexts, even in those where she has not reached
an agreement. When obligations are represented using classical event structures, we show that agreement and protection mutually exclude each other for a wide class of contracts. To reconcile agreement with protection we propose a novel formalism for modelling contractual obligations: event structures with circular causality.
We study this model from a foundational perspective, and we relate it with classical event structures. Using this model, we show how to construct contracts which guarantee both agreement and protection. We relate our contract model with Propositional Contract Logic, by establishing
a correspondence between provability in the logic and the notions of agreement and strategies.
This is a first step towards reducing the gap between two main paradigms for modelling contracts, that is the one which interprets them as interactive systems, and the one based on logic
A survey of attacks on Ethereum smart contracts
Smart contracts are computer programs that can be correctly executed by a network of mutually distrusting nodes, without the need of an external trusted authority. Since smart contracts handle and transfer assets of considerable value, besides their correct execution it is also crucial that their implementation is secure against attacks which aim at stealing or tampering the assets. We study this problem in Ethereum, the most well-known and used framework for smart contracts so far. We analyse the security vulnerabilities of Ethereum smart contracts, providing a taxonomy of common programming pitfalls which may lead to vulnerabilities. We show a series of attacks which exploit these vulnerabilities, allowing an adversary to steal money or cause other damage
Compliance in behavioural contracts: a brief survey
Behavioural contracts are formal specifications of interaction protocols between two or more distributed services. Despite the heterogeneous nature of the formalisms for behavioural contracts that have appeared in the literature, most of them feature a notion of compliance, which characterises when two or more contracts lead to correct interactions between services respecting them. We discuss and compare a selection of these notions in four different models of contracts: Ï„-less CCS, session types, interface automata, and contract automata